Unsupervised multivariate time series trend detection for group behavior analysis

ABSTRACT

A method for unsupervised multivariate time series trend detection for group behavior analysis is presented. The method includes collecting multi-variate time series data from a plurality of sensors, learning piecewise linear trends jointly for all of the multi-variate time series data, dividing the multi-variate time series data into a plurality of time segments, counting a number of up/down trends in each of the plurality of time segments, for a training phase, employing a cumulative sum (CUSUM), and, for a testing phase, monitoring the CUSUM for trend changes.

RELATED APPLICATION INFORMATION

This application claims priority to Provisional Application No. 62/892,095, filed on Aug. 27, 2019, and Provisional Application No. 62/892,615, filed on Aug. 28, 2019, the contents of which are incorporated herein by reference in their entirety.

BACKGROUND Technical Field

The present invention relates to trends in time series data and, more particularly, to methods and systems for unsupervised multivariate time series trend detection for group behavior analysis and tensorized long short-term memory (LSTM) with adaptive shared memory for learning trends in multivariate time series.

Description of the Related Art

A large amount of time series data has been generated from various domains, such as traffic management, electricity consumption and algorithmic trading. Trend learning in time series data aims to analyze the evolving trends in time series and forecast the trend. Trend learning is attractive because it can deliver more information about the semantics and dynamics of the underlying process generating the time series compared to conventional prediction methodologies. There has been a lot of effort on learning trends in time series data.

SUMMARY

A computer-implemented method for unsupervised multivariate time series trend detection for group behavior analysis is presented. The method includes collecting multi-variate time series data from a plurality of sensors, learning piecewise linear trends jointly for all of the multi-variate time series data, dividing the multi-variate time series data into a plurality of time segments, counting a number of up/down trends in each of the plurality of time segments, for a training phase, employing a cumulative sum (CUSUM), and, for a testing phase, monitoring the CUSUM for trend changes.

A non-transitory computer-readable storage medium comprising a computer-readable program is presented for unsupervised multivariate time series trend detection for group behavior analysis, wherein the computer-readable program when executed on a computer causes the computer to perform the steps of collecting multi-variate time series data from a plurality of sensors, learning piecewise linear trends jointly for all of the multi-variate time series data, dividing the multi-variate time series data into a plurality of time segments, counting a number of up/down trends in each of the plurality of time segments, for a training phase, employing a cumulative sum (CUSUM), and, for a testing phase, monitoring the CUSUM for trend changes.

A system for unsupervised multivariate time series trend detection for group behavior analysis is presented. The system includes a memory and one or more processors in communication with the memory configured to collect multi-variate time series data from a plurality of sensors, learn piecewise linear trends jointly for all of the multi-variate time series data, divide the multi-variate time series data into a plurality of time segments, count a number of up/down trends in each of the plurality of time segments, for a training phase, employ a cumulative sum (CUSUM), and, for a testing phase, monitor the CUSUM for trend changes.

A computer-implemented method for executing a multi-task deep learning model for learning trends in multivariate time series is presented. The method includes collecting multi-variate time series data from a plurality of sensors, jointly learning both local and global contextual features for predicting a trend of the multivariate time series by employing a tensorized long short-term memory (LSTM) with adaptive shared memory (TLASM) to learn historical dependency of historical trends, and employing a multi-task one-dimensional convolutional neural network (1dCNN) to extract salient features from local raw time series data to model a short-term dependency between local time series data and subsequent trends.

A non-transitory computer-readable storage medium comprising a computer-readable program is presented for executing a multi-task deep learning model for learning trends in multivariate time series, wherein the computer-readable program when executed on a computer causes the computer to perform the steps of collecting multi-variate time series data from a plurality of sensors, jointly learning both local and global contextual features for predicting a trend of the multivariate time series by employing a tensorized long short-term memory (LSTM) with adaptive shared memory (TLASM) to learn historical dependency of historical trends, and employing a multi-task one-dimensional convolutional neural network (1dCNN) to extract salient features from local raw time series data to model a short-term dependency between local time series data and subsequent trends.

A system for executing a multi-task deep learning model for learning trends in multivariate time series is presented. The system includes a memory and one or more processors in communication with the memory configured to collect multi-variate time series data from a plurality of sensors, jointly learn both local and global contextual features for predicting a trend of the multivariate time series by employing a tensorized long short-term memory (LSTM) with adaptive shared memory (TLASM) to learn historical dependency of historical trends, and employ a multi-task one-dimensional convolutional neural network (1dCNN) to extract salient features from local raw time series data to model a short-term dependency between local time series data and subsequent trends.

These and other features and advantages will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein:

FIG. 1 is a block/flow diagram of a method for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention;

FIG. 2 are block/flow diagrams of joint piecewise linear trends learning and trend segment breaking, in accordance with embodiments of the present invention;

FIG. 3 are block/flow diagrams of count up/down trend numbers in each trend time segment, CUSUM training, and CUSUM monitoring for change detection, in accordance with embodiments of the present invention;

FIG. 4 is a block/flow diagram of trend prediction in multivariate time series, in accordance with embodiments of the present invention;

FIG. 5 is block/flow diagram of a basic multi-task learning (MTL) setting, in accordance with embodiments of the present invention;

FIG. 6 is block/flow diagram of an enhanced multi-task learning (MTL) setting, in accordance with embodiments of the present invention;

FIGS. 7-8 are block/flow diagrams of an architecture of the tensorized LSTM with adaptive shared memory (TLASM) for modeling temporal patterns of two time series, in accordance with embodiments of the present invention;

FIG. 9 is block/flow diagram of an exemplary processing system for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention;

FIG. 10 is a block/flow diagram of an exemplary method for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention;

FIG. 11 is a block/flow diagram of equations employed in an exemplary method for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention;

FIG. 12 is a block/flow diagram of practical applications for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention;

FIG. 13 is a block/flow diagram of method for tensorized LSTM with adaptive shared memory for learning trends in multivariate time series, in accordance with embodiments of the present invention;

FIG. 14 are block/flow diagrams of training the TLASM model and predicting future trend's slope and length, in accordance with embodiments of the present invention;

FIG. 15 is a block/flow diagram of exemplary IoT sensors used to collect data/information for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention; and

FIG. 16 is a block/flow diagram of an exemplary method for tensorized LSTM with adaptive shared memory for learning trends in multivariate time series, in accordance with embodiments of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In many real-world applications, time series data is in the form of multivariate. Hence, trend learning is further extended to multivariate time series data. Trend learning in multivariate time series is difficult because of complex temporal patterns hidden in the multivariate time series, especially the existence of dependencies among the time series in the group. In many applications, the time series in a group share similar trend patterns. For example, traffic congestion that happens on a road causes all vehicles on the road to slow down. Thus, the number and the average speed of cars slowing down in a road segment are the indicator of possible traffic congestion. Another example relates to complex system monitoring. In a cyber-physical system, sensors are deployed to monitor each device and record time series data. When the number of increasing (uptrend) or decreasing (down-trend) time series in a subsystem is increasing, there should be some system anomaly in that subsystem.

In one example of single time series trend detection, the exemplary embodiments detect a trend in each time period. For each local trend, exemplary embodiments need to detect a time length and a slope. The exemplary embodiments can have threshold on length and slope to maintain only a subset of trends. The multivariate time series in the same group, e.g., stocks in the same sector or vehicle speed in the same road segment during a period time, usually has similar trend patterns. The challenge is how to detect the trend of the group as a whole characteristic for group behavior analysis.

To address such issue, the exemplary embodiments use an l₁ trend filtering method on the whole multi-variate time series. The exemplary embodiments learn the piecewise linear trends for all the time series jointly using the following equation:

∑ t = 1 T ⁢ ⁢  y ^ t - x ^ t  2 2 + λ ⁢ ∑ t = 2 T - 1 ⁢ ⁢  x ^ t - 1 - 2 ⁢ x ^ t + x ^ t + 1  2 , where ⁢ ⁢ y ^ t , x ^ t ∈ k

Here, y_(t) is the original multi-variate time series values at time step t, which is a k-dimensional vector (R^(k×1)). x_(t) (t=1 to T) is the estimated value to be optimized. The first term of the above equation is the residual term and the second term is the smoothness term. λ is used to control the granularity of the inferred trends. Basically, if λ is larger, the resulting trend would be coarse grained.

After the optimization, the exemplary embodiments use the estimated x_(t) to break the multivariate time series into different segments as shown in the following steps, pseudo code:

  for t = 1 to T − 2  for i = 1 to k  if ∥ {circumflex over (x)}_(t+2) (i)−2 {circumflex over (x)}_(t+1) (i)+ {circumflex over (x)}_(t) (i) ∥₂ > ϵ   Break time series at t + 1;   break;

Once the exemplary embodiments break the optimized x_(t) into piece-wise linear trend segments, the method can further count the number of up/down trends in each time segment. The resulting counts time series describe the trend evolution of the whole multi-variate time series.

The exemplary embodiments denote the number of uptrends as z_(n) (1≤n≤N). N is the total number of trend segments. This is similar for the downtrend cases. The exemplary embodiments can then use cumulative sum (CUSUM) to monitor the group of time series (multi-variate time series) trends. When the cumulative sum of deviations is larger than some threshold θ, the exemplary embodiments report that the group of time series has an increasing uptrend. If the CUSUM value is less than θ, the method reports that the group has a decreasing uptrend.

The equation of calculating CUSUM is as follows:

$S_{n} = {\sum\limits_{i = 1}^{n}\;{\left( {z_{n} - \mu} \right)\text{/}\sigma_{z}}}$

Here, μ is the mean value of z in the training period, σ_(z) is the standard error of z in the training period.

FIG. 1 is a block/flow diagram of a method for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention.

At block 101, a multi-variate time series is input.

At block 103, joint piecewise linear trends are learned.

At block 105, trend segment breaking (or dividing) is determined.

At block 107, the trend numbers in each trend time segment are counted up/down.

At block 109, for the training phase, cumulative sum (CUSUM) training is performed.

At block 111, for the testing phase, CUSUM monitoring for change detection is performed.

FIG. 2 are block/flow diagrams of joint piecewise linear trends learning and trend segment breaking, in accordance with embodiments of the present invention.

At block 103, joint piecewise linear trends are learned.

At block 201, formula (1) is employed to learn optimized x.

At block 203, λ is used to control the granularity of the inferred trends. The selection of λ depends on users' application requirements. If the user is interested in a short-term trend, λ can be small.

At block 105, trend segment breaking (or dividing) is determined.

At block 211, algorithm (1) is used to break the trend time segments.

At block 213, ε is used to control the granularity, and usually a small value is sufficient, e.g., 10⁻³.

FIG. 3 are block/flow diagrams of count up/down trend numbers in each trend time segment, CUSUM training, and CUSUM monitoring for change detection, in accordance with embodiments of the present invention.

At block 107, the trend numbers in each trend time segment are counted up/down.

At block 221, it is possible to apply thresholds on trends, say a length and a slope.

At block 109, for the training phase, cumulative sum (CUSUM) training is performed.

At block 231, the mean and standard deviation (μ and σ_(z)) are calculated for the training data. The training data are historical trends.

At block 111, for the testing phase, CUSUM monitoring for change detection is performed.

At block 241, formula (2) is employed to calculate S_(n). If it arrives at some threshold, the system triggers a changing alert.

Therefore, regarding unsupervised multivariate time series trend detection for group behavior analysis, trends in multivariate time series characterize the movement of time series. Learning and forecasting time series movements is invaluable to various real-world applications, such as traffic management, electricity consumption, and algorithmic trading. Given the historical data of each time series, the exemplary embodiments aim to forecast the slope and duration of the subsequent trend of each time series. This task is challenging because of the complex temporal patterns of multivariate time series and the uncertainty in the relations between different time series.

The exemplary embodiments below introduce a novel deep neural network model, namely tensorized LSTM with adaptive shared memory (TLASM), to resolve such challenges. TLASM employs the tensorized LSTM in which the hidden states are represented by tensors to model the temporal patterns of multivariate time series trends. With an adaptive shared memory, TLASM is able to learn the relation between time series adaptively. The tensorized LSTM helps TLASM enjoy the advantage of multi-task learning in which the trend learning of each time series is considered as a task. The adaptive shared memory makes the more related tasks share more model parameters. Furthermore, with the tensorized LSTM applied to time series trends and the one-dimensional convolutional neural network (1dCNN) applied to local time series data, the long-term dependency within the sequence of historical trends and the short-term dependency between the local raw time series data and the subsequent trend are considered.

The problem of learning and forecasting underlying trends in time series data arises in a variety of applications, such as traffic management, energy optimization, etc. A trend in time series is characterized by the slope and duration, and its prediction is then to forecast the two values of the subsequent trend given historical data of the time series. For this problem, existing approaches mainly deal with the case in univariate time series.

However, in many real-world applications, there are multiple variables at play, and handling all of them at the same time is beneficial for an accurate prediction. A natural way is to employ multi-task learning (MTL) techniques in which the trend learning of each time series is treated as a task. The key point of MTL is to learn task relatedness to achieve better parameter sharing, which however is challenging in trend prediction tasks. First, effectively modeling the complex temporal patterns in different tasks is difficult as the temporal and spatial dimensions are entangled. Second, the relatedness among tasks may change over time.

The exemplary embodiments address such issues by introducing a neural network, referred to as DeepTrends, for multivariate time series trend prediction. The core module of DeepTrends is a tensorized LSTM with adaptive shared memory (TLASM). TLASM employs the tensorized LSTM to model the temporal patterns of long-term trend sequences in an MTL setting. With an adaptive shared memory, TLASM is able to learn the relatedness among tasks adaptively, based upon which TLASM can dynamically vary degrees of parameter sharing among tasks. To further consider short-term patterns, DeepTrends utilizes a multi-task 1dCNN to learn the local time series features and employs a task-specific sub-network to learn a mixture of long-term and short-term patterns for trend prediction.

In the MTL setting, the trend learning of each time series is considered as a task and different tasks are performed jointly. MTL can help improve the performance of tasks when they are related, and MTL also saves the computation cost by sharing model architectures (parameters) between related tasks. However, the MTL model may suffer significant degeneration in performance when tasks are less related to each other.

FIG. 5 illustrates a basic MTL model 500 for modeling the temporal patterns of two time series, where each time series has its own parameters to generate hidden representations and the hidden representations of different time series influence each other by additional shared parameters. Compared to models without parameter sharing, the basic MTL model introduces inductive bias into the shared architecture. When tasks are unrelated, the inductive biases in different tasks will have conflicts and hurt task performance. To alleviate this problem, a memory enhanced model that decouples the hidden representations into the task specific patterns and the shared ones can be employed. The architecture of the enhanced MTL 600 is shown in FIG. 6, in which an external memory is designed to share information among different tasks. However, the shared memory cannot model task relatedness for better parameter-sharing. Another challenge comes from the temporal dynamics in different tasks. In many cases, the relatedness among tasks may change over time. However, FIG. 4 can be employed to alleviate issues related to the basic MTL 500 and the enhanced MTL 600.

FIG. 4 is a block/flow diagram of trend prediction in multivariate time series, in accordance with embodiments of the present invention.

To address the above challenges, the exemplary embodiments introduce a deep architecture, referred to as DeepTrends 400, for learning trends in multivariate time series as shown in FIG. 4. DeepTrends jointly learns both local and global contextual features for predicting the trend of time series. DeepTrends core module is a tensorized LSTM with adaptive shared memory (TLASM 401) to learn the sequential dependency of historical trends, which carries the information about long-term trend evolving. To further consider short-term dependency, DeepTrends utilizes a multitask 1dCNN 403 to learn the features of local raw time series, which delivers the information about the abrupt changing behavior of the trend evolution.

Specifically, TLASM 401 leverages the tensorized LSTM to model the complex temporal patterns in different tasks, based upon which, an adaptive shared memory is designed to learn the task relatedness and dynamically integrate the shared information from related tasks into the representation of each individual task. The adaptive shared memory includes multiple layers of sub-networks. TLASM 401 learns the sub-network connections between different layers for information routing. In this way, one learning task can share more parameters with more related ones by selecting a similar sub-network. Each task is associated with one task specific unit at each time step for dynamical information routing. The idea of sub-network routing has not been previously used for the sequential model. Moreover, time series data often involves a mixture of long-term and short-term patterns. In DeepTrends, TLASM 401 is employed to model the long-term dependency within the sequence of historical trends. Since CNN is good at extracting patterns of local salience by applying a local connectivity between neurons, DeepTrends further employs a multi-task 1dCNN 403 to extract salient features from local raw time series data, so as to model the short-term dependency between local time series data and the subsequent trend. A task-specific sub-network is then designed to integrate the long- and short-term dependency.

The advantages of the present application can be summarized as follows:

The exemplary embodiments present DeepTrends, a multi-task deep learning model for learning trends in multivariate time series, which considers both long- and short-term dependency.

The exemplary embodiments introduce TLASM, which is the first neural network capable to jointly model the temporal patterns of multivariate time series and achieve flexible parameter sharing.

The exemplary embodiments extend the problem setting into a multivariate one. n time series is denoted by X=(x¹, . . . , x^(n))^(T)=(x₁, . . . , x_(T))∈

^(n×T), where =(x₁ ^(i), . . . , x_(T) ^(i))^(T)∈

^(T) is the i-th time series and x_(t)=(x_(t) ^(t), . . . , x_(t) ^(n))^(T)∈

^(T) represents the vector of n time series at time step t. T is the number of time steps. The historical trend sequence of λ is the union of the trend sequence over each time series and denoted by

={

l_(k) ¹,s_(k) ¹

}∪ . . . ∪{

l_(k) ^(n),s_(k) ^(n)

}, where {

l_(k) ^(i),s_(k) ^(i)

} is the trend sequence of the i-th time series.

l_(k) ^(n),s_(k) ^(i)

is the k-th trend of the i-th time series and describes a function over a subsequence (or a segment) of the i-th time series. l_(k) ^(i) and s_(k) ^(i) represent the duration and slope of the k-th trend in the i-th time series respectively. l_(k) ^(i) is measured in terms of the time range covered by the k-th trend of the i-th time series. Both l_(k) ^(i) and s_(k) ^(i) are continuous values. Trends of X are time ordered and non-overlapping. The durations of all the trends in each time series address Σ_(k)l_(k) ^(i)=T.

The local time series data delivers the information about the abrupt changing behavior of the trend evolution. The local data with respect to each historical trend is defined as the time series data with window size w.

The local data of X is denoted by:

={

x_(t) _(k) _(−w) ¹, . . . , x_(t) _(k) ¹

}∪ . . . ∪{

x_(t) _(k) _(−w) ^(n), . . . , x_(t) _(k) ^(n)

}, where

x_(t) _(k) _(−w) ^(i), . . . , x_(t) _(k) ^(i)

is the local data of the k-th trend of the i-th time series and t_(k) is the ending time of the k-th trend. Given

and

, the goal is to learn the trends in multivariate time series for forecasting the subsequent trend of each time series, e.g.,

{circumflex over (l)}¹,ŝ¹

, . . .

{circumflex over (l)}^(n),ŝ^(n)

.

Data instances are built by combining the historical trend sequence, local raw time series data and the subsequent trends. All data instances are split into training set (80%), validation set (10%) and test set (10%). To generate trends, the exemplary embodiments adopt the l₁ trend filtering for multivariate time series.

The objective function is:

${\sum\limits_{t = 1}^{T}\;{{{\hat{y}}_{t} - {\hat{x}}_{t}}}_{2}^{2}} + {\mu{\sum\limits_{t = 2}^{T - 1}\;{{{\hat{x}}_{t - 1} - {2{\hat{x}}_{t}} + {\hat{x}}_{t + 1}}}_{2}}}$

where x_(t)∈

^(n) is the time series data at time step t and {circumflex over (x)}_(t) is the estimate.

Using a similar idea in the group Lasso, the objective function couples together changes in the slopes of individual entries at the same time index, so the trend component found tends to show simultaneous trend changes. It is noted that even though the trends in multivariate time series are asynchronous, the trend is split into smaller pieces and maintains the predictive power. In the objective function, μ is a parameter to control the number of generated trends. The smaller μ is, the more fine-grained the trends are. The specific value of μ depends on the user's need.

The exemplary embodiments first introduce the basic LSTM, followed by how to extend it into the tensorized one with adaptive shared memory.

The LSTM network is a powerful approach to learn the long-term dependency of sequential data. The calculation process of the LSTM unit (applied to each time step) is described with respect to the equations below.

Given a sequence of input data x₁, x₂, . . . ∈

^(n), a memory cell c_(t)∈

^(d) and a hidden state h_(t)∈

^(d) are calculated for each input data by the following equations:

${\begin{bmatrix} c_{t} \\ f_{t} \\ i_{t} \\ o_{t} \end{bmatrix} = {\begin{bmatrix} \tanh \\ \sigma \\ \sigma \\ \sigma \end{bmatrix}\left( {{W\left\lbrack {x_{t} \oplus h_{t - 1}} \right\rbrack} + b} \right)}},{c_{t} = {{f_{t} \odot c_{t - 1}} + {i_{t} \odot {\overset{\sim}{c}}_{t}}}},{h_{t} = {o_{t} \odot {\tanh\left( c_{t} \right)}}},$

where W∈

^(4d×(N+d)) and b∈R^(4d) are parameters.

f_(t), i_(t), o_(t) ∈

^(d) are called forget, input, output gates, respectively, and their values are in the range of [0,1]. These gates control how much information to keep/throw away.

σ(⋅), ⊕ and ⊙ represent an element-wise sigmoid function, concatenation operator, and an element-wise multiplication, respectively. The LSTM unit can be rewritten as follows, where θ represents all the parameters.

(h _(t) ,c _(t))=LSTM(h _(t−1) ,c _(t−1) ,x _(t),θ)

The exemplary method can take the concatenation of the duration l_(k) ^(i) and slope s_(k) ^(i) as the input data x_(k) ^(i), and feed this concatenation in each trend of all time series into LSTM to learn the long-term trend dependency. After feeding the trend sequence

into LSTM, the hidden state h_(t) at the last time step is used as the overall representation of the trend sequences.

Individual time series usually present different dynamics. However, as the basic LSTM blindly blends the information of all time series into the hidden state h_(t), it is intractable to further learn the time series-specific representations. Besides, the relatedness among the trend learning tasks of different time series cannot be modeled by the hidden state mixing multivariate data, thus potentially hurting the trend learning task performance.

The exemplary methods tensorize the hidden states to learn the time series specific representation, such that the hidden representation of each time series can be learned exclusively based on the data from that time series.

The intuition behind tensorizing hidden states is that the exemplary method a represents the hidden state as a matrix H_(t)=(h_(t) ¹, . . . , h_(t) ^(n))^(T), where h_(t) ^(i) ∈

^(d) ⁰ is the hidden state vector specific to the ith time series. The data used to generate h_(t) ^(i) is exclusively related to the i-th time series.

Given the newly coming data x_(t)∈

^(n) and the previous state matrix H_(t−1), the hidden state is updated as follows:

{tilde over (C)} _(t)=tan h(W _(c)

x _(t) +u _(c)└_(n) H _(t−1) +B _(c))

where {tilde over (C)}_(t)=({tilde over (c)}_(t) ¹, . . . , {tilde over (c)}_(t) ^(n))^(T) has the same shape of the hidden state matrix H_(t−1). The element {tilde over (c)}_(t) ^(i)∈

^(d) ⁰ corresponds to the hidden state update of the i-th time series.

W_(c)=w_(c) ¹, . . . , w_(c) ^(n))^(T)∈

^(n×d) ⁰ is the input-to-hidden transition matrix, where w_(c) ^(i)∈

^(d) ⁰ . W_(c)

x_(t) captures the information from the input data and is defined by:

W _(c)

x _(t)=(w _(x) ¹ x _(t) ¹ , . . . ,w _(x) ^(n) x _(t) ^(n))^(T).

u_(c)=(U_(c) ¹, . . . , U_(c) ^(n))^(T) ∈

^(n×d) ⁰ ^(×d) ⁰ is the hidden-to-hidden transition tensor, where U_(c) ^(i)∈

^(d) ⁰ ^(×d) ⁰ . u_(c)⊗_(n)H_(t−1) captures the information from the previous state matrix:

u _(c)⊗_(n) H _(t−1)=(U _(c) ¹ h _(t−1) ¹ , . . . ,U _(h) ^(n) h _(t−1) ^(n))^(T)

where ⊗_(n) indicates the tensor product along the axis of n.

From an MTL viewpoint, tensorizing hidden states transform the hidden state update of multivariate time series into multiple independent tasks, each of which corresponds to a time series. Thus, MTL helps learning time series-specific representations. However, MTL cannot model the task relatedness.

The exemplary methods introduce an adaptive shared memory to model task relatedness. The goal is to make more related tasks share more model architecture/parameters and less related ones share less.

FIGS. 7-8 illustrate the architecture of TLASM 700A-700B, in which the cells 701, 703, 711, 713, are task-specific units and the central components are the adaptive shared memory that includes multiple layers of parallel sub-networks. In the adaptive shared memory module, the first layer includes multiple independent LSTMs 705, 715, followed by several sub-networks 707, 717 including multiple multilayer perceptrons (MLPs). The last layer 709, 719 is task specific MLPs employed to collect information for specific tasks 405 (FIG. 4). The connection between the sub-networks is a weighted average with attention mechanism. All the independent LSTMs and subnetworks are shared by all prediction tasks. The adaptive shared memory learns the connections between the subnetworks to encode the architecture space, which generates different sub-network routings. The adaptive shared memory achieves a flexible parameter sharing by learning to select a similar sub network routing for related tasks. Besides, because the adaptive shared memory includes LSTMs as the first layer to read information from time series at each time step, the adaptive shared memory is able to model the task relatedness that may change over time.

The intuition behind multiple LSTMs included in the adaptive shared memory is that there are different shared hidden feature spaces for the tasks and each LSTM corresponds to one of them. Suppose the 1 layer includes p standard LSTMs and the 2nd layer includes q MLPs. After feeding all the trend sequence data into these LSTMs, the outputs at time step t are:

(h _(t) ⁽¹⁾ ,c _(t) ⁽¹⁾)=LSTM₁(h _(t−1) ⁽¹⁾ ,c _(t−1) ⁽¹⁾ ,x _(t),θ⁽¹⁾)

. . .

(h _(t) ^((p)) ,c _(t) ^((p)))=LSTM_(p)(h _(t−1) ^((p)) ,c _(t−1) ^((p)) ,x _(t),θ^((p))).

For the sub-network routing between the 1^(st) layer and the 2^(nd) layer, the exemplary methods use a weighted average of the 1^(st) layer's outputs:

${\begin{bmatrix} e_{1} \\ e_{2} \\ \vdots \\ e_{q} \end{bmatrix} = {\begin{bmatrix} {\alpha_{11}I_{11}} & \cdots & {\alpha_{1p}I_{1p}} \\ \vdots & \ddots & \vdots \\ {\alpha_{q\; 1}I_{q\; 1}} & \cdots & {\alpha_{qp}I_{qp}} \end{bmatrix}\begin{bmatrix} h_{t}^{(1)} \\ h_{t}^{(2)} \\ \vdots \\ h_{t}^{(p)} \end{bmatrix}}},$

where α_(ij)≥0 is the weight, Σ_(j)α_(ij)=1 and I_(ij) is the identity matrix. α_(ij) represents the degree of connection between sub-networks and is learned by an attention module:

${\alpha_{ij} = \frac{\exp\left\{ {w_{i}^{\top}\mspace{14mu}{\tanh\left( {V_{i}h_{t}^{(j)}} \right)}} \right\}}{\sum\limits_{k = 1}^{q}\;{\exp\left\{ {w_{i}^{\top}\mspace{14mu}{\tanh\left( {V_{i}h_{t}^{(k)}} \right)}} \right\}}}},$

where w_(i)∈

^(d) ^(α) and V^(i)∈

^(d) ^(α) ^(×d) are parameters. The number of attentions used between two layers equals to the number of sub-networks in the latter layer. Similarly, the sub-network routing between other layers is designed. The attentions between different layers are different. As the number of subnetworks in the final layer equals to the number of tasks, e.g., the number of time series, the exemplary method can get the output of the last layer as R_(t)=(r_(t) ¹, . . . , r_(t) ^(n))^(T), where r_(t) ^(i)∈

^(d) ^(r) is the information read from the shared memory for the i-th time series.

With the tensorized hidden states mechanism and the adaptive shared memory, the exemplary method employs TLASM. The intuition behind TLASM is that the hidden state of time series is influenced by both the information from that time series and the information from related ones. Specifically, each time series has its own memory c_(t) ^(i)∈

^(d) ⁰ storing the time series-specific information and the adaptive shared memory r_(t) ^(i)∈

^(d) ^(r) storing the information of related time series. When generating the hidden state of the i-th time series h_(t) ^(i), it needs to read information from both the two memories r_(t) ^(i) and c_(t) ^(i).

The calculation process of the TLASM unit is described in the equations below. As a standard LSTM neural network, TLASM has the forget gate F_(t), input gate I_(t), output gate O_(t) and the memory cell C_(t) in the update process.

Given the input data x₁, x₂, . . . ∈

^(n), the cell matrix C_(t) and the state matrix H_(t) are calculated as follows:

${\begin{bmatrix} F_{t} \\ I_{t} \\ O_{t} \end{bmatrix} = {\begin{bmatrix} \sigma \\ \sigma \\ \sigma \end{bmatrix}\left( {{W\mspace{14mu}\mspace{14mu} x_{t}} + {U \otimes_{n}H_{t - 1}} + B} \right)}},{C_{t} = {{F_{t} \odot C_{t - 1}} + {I_{t} \odot {\overset{\sim}{C}}_{t}}}},{G_{t} = {\sigma\left( {{U_{c} \otimes_{n}C_{t}} + {U_{r} \otimes_{n}R_{t}}} \right)}},{H_{t} = {O_{t} \odot {\tanh\left( {C_{t} + {G_{t} \odot \left( {U_{g} \otimes_{n}R_{t}} \right)}} \right)}}},$

where W∈

^(3n×d) ⁰ , u∈

^(3n×d) ⁰ ^(×d) ⁰ , B∈

^(3n×d) ⁰ , and u_(c), u_(r), u_(g)∈

^(n×d) ⁰ ^(×d) ⁰ are parameters. {tilde over (C)}_(t) is the updated state matrix.

F_(t), I_(t), O_(t)∈

^(n×d) are the gates in the form of matrix.

G_(t)∈

^(n×d) is a fusion gate. The fusion gate selects a part of the information read from the shared memory, which is merged with the time series-specific memory into a new one for each task.

Similar to the case of tensorizing hidden states, the tensor-dot operations ensure the data used to generate the gates and the memory cell matrix of each time series are exclusively from the corresponding time series. TLASM can also be considered as a set of parallel LSTMs, each of which processes one time series and then merges via the adaptive shared memory.

Regarding the deep architecture with TLASM for learning trends in multivariate time series, the overview of the deep architecture is shown in FIG. 4. The sequences of historical trends of all time series are fed into TLASM 401 to learn the long-term trend evolving. A multi-task 1dCNN 403 is applied to the local raw data of each time series to extract local features. The outputs of TLASM 401 and 1dCNN 403 are further fed into a task-specific subnetwork to get the final trend prediction of that time series.

Regarding TLASM for learning long-term trend evolving, the trend sequences of all time series, e.g.,

={

l_(k) ¹,s_(k) ¹

}∪ . . . ∪{

l_(k) ^(n),s_(k) ^(n)

}, are fed into TLASM to learn long-term trend evolving. Specifically, the exemplary methods concatenate l and s of all time series as the input data x_(t)=(l_(t) ¹, s_(t) ¹, . . . , l_(t) ^(n), s_(t) ^(n))^(T)∈

^(2n). The output of TLASM, H∈

^(2n×d), is the transformed representation of all trend sequences. The exemplary method denotes L^(i)(

) as the part of H that corresponds to the i-th time series

Regarding multi-task 1dCNN for learning local features, to extract the features of local time series data, DeepTrends 400 employs a multi-task 1CNN module which enjoys the classic architecture of the shared bottom MTL. In the module, a low-level subnetwork is shared by all time series and each time series has its own subnetwork built on top of the shared one. All these subnetworks include multiple stacked layers of id convolutional, activation and pooling operations. The elements of local data

={

x_(t) _(k) _(−w) ¹, . . . , x_(t) _(k) ¹

}∪ . . . ∪{

x_(t) _(k) _(−w) ^(n), . . . , x_(t) _(k) ^(n)

} are fed into the multi-task 1dCNN module. The output that corresponds to the i-th time series is denoted by C^(i)(

).

Regarding task-specific sub-networks, the exemplary methods design a task-specific sub-network for the trend learning of each time series. The outputs of TLASM and multi-task 1dCNN, e.g., L^(i)(

) and C^(i)(

), are concatenated and fed into the task-specific sub-network. The output of the sub-network for the i-th time series is:

{circumflex over (l)} ^(i) ,ŝ ^(i)

=f ^(i)(L ^(i)(

)⊗C ^(i)(

)),

where f^(i)(⋅) represents an MLP that includes of m layers of neurons. The output of the k-th layer can be expressed as y_(k)=φ(W_(k) ^(i)(y_(k−1))+b_(k) ^(i)), where φ is the leaky ReLU activation function and W_(k) ^(i), b_(k) ^(i) are parameters.

Regarding the objective function, given the trend sequences

and the local data

, the objective function is:

${J = {{\frac{1}{n}{\sum\limits_{i = 1}^{n}\;{\frac{1}{z^{i}}{\sum\limits_{k = 1}^{z^{i}}\;\left\lbrack {\left( {{\hat{l}}_{k}^{i} - l_{k}^{i}} \right)^{2} + \left( {{\hat{s}}_{k}^{i} - s_{k}^{i}} \right)^{2}} \right\rbrack}}}} + {\lambda\; P_{nn}}}},$

where z^(i) is the number of trends in the i-th time series and P_(nn) is the penalization term for the parameters to prevent the model from over-fitting. λ is a hyper-parameter.

In summary, the exemplary embodiments introduce a deep architecture, DeepTrends, for learning trends in multivariate time series. The core module of DeepTrends is a TLASM network, which is used to capture the long-term dependency in the historical trend sequence. Particularly, TLASM tensorizes the hidden states to model the complex temporal patterns in different tasks. An adaptive shared memory is introduced to learn the task relatedness and dynamically integrates the shared information from related tasks into the learning process of individual tasks. To consider the short-term dependency between the local data and the subsequent trend, a multi-task 1dCNN is designed to extract the features of local raw time series. A task-specific sub-network is further designed to integrate the long- and short-term dependency.

FIG. 9 is block/flow diagram of an exemplary processing system for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention.

The processing system includes at least one processor or processor device (CPU) 904 and a graphics processing unit (GPU) 905 operatively coupled to other components via a system bus 902. A cache 906, a Read Only Memory (ROM) 908, a Random Access Memory (RAM) 910, an input/output (I/O) adapter 920, a network adapter 930, a user interface adapter 940, and a display adapter 950, are operatively coupled to the system bus 902. Sensors for collecting time series data 960 can be employed via the bus 602. The time series data can be analyzed with the TLASM 970.

A storage device 922 is operatively coupled to system bus 902 by the I/O adapter 920. The storage device 922 can be any of a disk storage device (e.g., a magnetic or optical disk storage device), a solid state magnetic device, and so forth.

A transceiver 932 is operatively coupled to system bus 902 by network adapter 930.

User input devices 942 are operatively coupled to system bus 902 by user interface adapter 940. The user input devices 942 can be any of a keyboard, a mouse, a keypad, an image capture device, a motion sensing device, a microphone, a device incorporating the functionality of at least two of the preceding devices, and so forth. Of course, other types of input devices can also be used, while maintaining the spirit of the present invention. The user input devices 942 can be the same type of user input device or different types of user input devices. The user input devices 942 are used to input and output information to and from the processing system.

A display device 952 is operatively coupled to system bus 902 by display adapter 950.

Of course, the processing system may also include other elements (not shown), as readily contemplated by one of skill in the art, as well as omit certain elements. For example, various other input devices and/or output devices can be included in the system, depending upon the particular implementation of the same, as readily understood by one of ordinary skill in the art. For example, various types of wireless and/or wired input and/or output devices can be used. Moreover, additional processors, processor devices, controllers, memories, and so forth, in various configurations can also be utilized as readily appreciated by one of ordinary skill in the art. These and other variations of the processing system are readily contemplated by one of ordinary skill in the art given the teachings of the present invention provided herein.

FIG. 10 is a block/flow diagram of an exemplary method for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention.

At block 1001, collect multi-variate time series data from a plurality of sensors.

At block 1003, learn piecewise linear trends jointly for all of the multi-variate time series data.

At block 1005, divide the multi-variate time series data into a plurality of time segments.

At block 1007, count a number of up/down trends in each of the plurality of time segments.

At block 1009, for a training phase, employ a cumulative sum (CUSUM).

At block 1011, for a testing phase, monitor the CUSUM for trend changes.

FIG. 11 is a block/flow diagram of equations employed in methods for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention.

Equations 1100 identify a learning piecewise linear trends for all time series jointly, a CUSUM, an attention module, and an objective function.

FIG. 12 is a block/flow diagram of practical applications for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention.

Practical applications for learning and forecasting trends in multivariate time series data can include, but are not limited to, system monitoring 1201, healthcare 1203, stock market data 1205, financial fraud 1207, gas detection 1209, and e-commerce 1211. The time-series data in such practical applications can be collected by sensors 1500 (FIG. 15).

FIG. 13 is a block/flow diagram of method for tensorized LSTM with adaptive shared memory for learning trends in multivariate time series, in accordance with embodiments of the present invention.

At block 101, a multi-variate time series is input.

At block 103, joint piecewise linear trends are learned.

At block 1301, the TLASM model is trained using historical trend sequences and local time series.

At block 1303, the future trend's slope and length are predicted.

FIG. 14 are block/flow diagrams of training the TLASM model and predicting future trend's slope and length, in accordance with embodiments of the present invention.

At block 1401, the TLASM model is trained using historical trend sequences and local time series.

At block 1411, the framework in FIG. 4 is employed to train the prediction model.

At block 1413, the model uses 1dCNN to learn the local short-term time series patterns and tensorized LSTM with adaptive shared memory for learning long-term trend sequences.

At block 1403, the future trend's slope and length are predicted.

At block 1421, the prediction feeds the learned model and recent trend sequences and most recent short-term raw time series to predict near future trend of each time series.

At block 1423, the learning procedure is by nature a multi-task way.

FIG. 15 is a block/flow diagram of exemplary IoT sensors used to collect data/information for unsupervised multivariate time series trend detection for group behavior analysis, in accordance with embodiments of the present invention.

IoT loses its distinction without sensors. IoT sensors act as defining instruments which transform IoT from a standard passive network of devices into an active system capable of real-world integration.

The IoT sensors 1500 can be connected via the mobile networks 1550 to transmit information/data, continuously and in in real-time. Exemplary IoT sensors 1500 can include, but are not limited to, position/presence/proximity sensors 1501, motion/velocity sensors 1503, displacement sensors 1505, such as acceleration/tilt sensors 1506, temperature sensors 1507, humidity/moisture sensors 1509, as well as flow sensors 1510, acoustic/sound/vibration sensors 1511, chemical/gas sensors 1513, force/load/torque/strain/pressure sensors 1515, and/or electric/magnetic sensors 1517. One skilled in the art can contemplate using any combination of such sensors to collect data/information and input into the TLASM model 1560 of the mobile networks 1550 for further processing. One skilled in the art can contemplate using other types of IoT sensors, such as, but not limited to, magnetometers, gyroscopes, image sensors, light sensors, radio frequency identification (RFID) sensors, and/or micro flow sensors. IoT sensors can also include energy modules, power management modules, RF modules, and sensing modules. RF modules manage communications through their signal processing, WiFi, ZigBee®, Bluetooth®, radio transceiver, duplexer, etc.

Moreover data collection software can be used to manage sensing, measurements, light data filtering, light data security, and aggregation of data. Data collection software uses certain protocols to aid IoT sensors in connecting with real-time, machine-to-machine networks. Then the data collection software collects data from multiple devices and distributes it in accordance with settings. Data collection software also works in reverse by distributing data over devices. The system can eventually transmit all collected data to, e.g., a central server.

FIG. 16 is a block/flow diagram of an exemplary method for tensorized LSTM with adaptive shared memory for learning trends in multivariate time series, in accordance with embodiments of the present invention.

At block 1601, collect multi-variate time series data from a plurality of sensors

At block 1603, jointly learn both local and global contextual features for predicting a trend of the multivariate time series by employing a tensorized long short-term memory (LSTM) with adaptive shared memory (TLASM) to learn historical dependency of historical trends.

At block 1605, employ a multi-task one-dimensional convolutional neural network (1dCNN) to extract salient features from local raw time series data to model a short-term dependency between local time series data and subsequent trends.

As used herein, the terms “data,” “content,” “information” and similar terms can be used interchangeably to refer to data capable of being captured, transmitted, received, displayed and/or stored in accordance with various example embodiments. Thus, use of any such terms should not be taken to limit the spirit and scope of the disclosure. Further, where a computing device is described herein to receive data from another computing device, the data can be received directly from the another computing device or can be received indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, and/or the like. Similarly, where a computing device is described herein to send data to another computing device, the data can be sent directly to the another computing device or can be sent indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, and/or the like.

To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module,” “calculator,” “device,” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical data storage device, a magnetic data storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can include, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.

In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks or modules.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks or modules.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks or modules.

It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.

The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc. Such memory may be considered a computer readable storage medium.

In addition, the phrase “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, scanner, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, printer, etc.) for presenting results associated with the processing unit.

The foregoing is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that those skilled in the art may implement various modifications without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims. 

What is claimed is:
 1. A computer-implemented method executed on a processor for unsupervised multivariate time series trend detection for group behavior analysis, the method comprising: collecting multi-variate time series data from a plurality of sensors; learning piecewise linear trends jointly for all of the multi-variate time series data; dividing the multi-variate time series data into a plurality of time segments; counting a number of up/down trends in each of the plurality of time segments; for a training phase, employing a cumulative sum (CUSUM); and for a testing phase, monitoring the CUSUM for trend changes.
 2. The method of claim 1, wherein the learning of the piecewise linear trends involves using: ∑ t = 1 T ⁢ ⁢  y ^ t - x ^ t  2 2 + λ ⁢ ∑ t = 2 T - 1 ⁢ ⁢  x ^ t - 1 - 2 ⁢ x ^ t + x ^ t + 1  2 , where ⁢ ⁢ y ^ t , x ^ t ∈ k and where y_(t) is original multi-variate time series values at time step t, which is a k-dimensional vector (R^(k×1)), x_(t) is an estimated value to be optimized, and λ is used to control a granularity of the inferred trends.
 3. The method of claim 2, wherein the first term is a residual term and the second term is a smoothness term.
 4. The method of claim 3, wherein if λ is above a predetermined threshold, a resulting trend is coarse grained.
 5. The method of claim 1, wherein, when the CUSUM is larger than a predetermined threshold, a group of the multi-variate time series data has an upward trend.
 6. The method of claim 1, wherein when the CUSUM is less than a predetermined threshold, a group of the multi-variate time series data has a downward trend.
 7. The method of claim 1, wherein the CUSUM is given as: ${S_{n} = {\sum\limits_{i = 1}^{n}\;{\left( {z_{n} - \mu} \right)\text{/}\sigma_{z}}}},$ where μ is a mean value of z in a training period, σ_(z) is a standard error of z in the training period, and z_(n) is a number of uptrends.
 8. A non-transitory computer-readable storage medium comprising a computer-readable program for unsupervised multivariate time series trend detection for group behavior analysis, wherein the computer-readable program when executed on a computer causes the computer to perform the steps of: collecting multi-variate time series data from a plurality of sensors; learning piecewise linear trends jointly for all of the multi-variate time series data; dividing the multi-variate time series data into a plurality of time segments; counting a number of up/down trends in each of the plurality of time segments; for a training phase, employing a cumulative sum (CUSUM); and for a testing phase, monitoring the CUSUM for trend changes.
 9. The non-transitory computer-readable storage medium of claim 8, wherein the learning of the piecewise linear trends involves using: ∑ t = 1 T ⁢ ⁢  y ^ t - x ^ t  2 2 + λ ⁢ ∑ t = 2 T - 1 ⁢ ⁢  x ^ t - 1 - 2 ⁢ x ^ t + x ^ t + 1  2 , where ⁢ ⁢ y ^ t , x ^ t ∈ k and where y_(t) is original multi-variate time series values at time step t, which is a k-dimensional vector (R^(k×1)), x_(t) is an estimated value to be optimized, and λ is used to control a granularity of the inferred trends.
 10. The non-transitory computer-readable storage medium of claim 9, wherein the first term is a residual term and the second term is a smoothness term.
 11. The non-transitory computer-readable storage medium of claim 10, wherein if λ is above a predetermined threshold, a resulting trend is coarse grained.
 12. The non-transitory computer-readable storage medium of claim 8, wherein, when the CUSUM is larger than a predetermined threshold, a group of the multi-variate time series data has an upward trend.
 13. The non-transitory computer-readable storage medium of claim 8, wherein when the CUSUM is less than a predetermined threshold, a group of the multi-variate time series data has a downward trend.
 14. The non-transitory computer-readable storage medium of claim 8, wherein the CUSUM is given as: ${S_{n} = {\sum\limits_{i = 1}^{n}\;{\left( {z_{n} - \mu} \right)\text{/}\sigma_{z}}}},$ where μ is a mean value of z in a training period, σ_(z) is a standard error of z in the training period, and z_(n) is a number of uptrends.
 15. A system for unsupervised multivariate time series trend detection for group behavior analysis, the system comprising: a memory; and one or more processors in communication with the memory configured to: collect multi-variate time series data from a plurality of sensors; learn piecewise linear trends jointly for all of the multi-variate time series data; divide the multi-variate time series data into a plurality of time segments; count a number of up/down trends in each of the plurality of time segments; for a training phase, employ a cumulative sum (CUSUM); and for a testing phase, monitor the CUSUM for trend changes.
 16. The system of claim 15, wherein the learning of the piecewise linear trends involves using: ∑ t = 1 T ⁢ ⁢  y ^ t - x ^ t  2 2 + λ ⁢ ∑ t = 2 T - 1 ⁢ ⁢  x ^ t - 1 - 2 ⁢ x ^ t + x ^ t + 1  2 , where ⁢ ⁢ y ^ t , x ^ t ∈ k and where y_(t) is original multi-variate time series values at time step t, which is a k-dimensional vector (R^(k×1)), x_(t) is an estimated value to be optimized, and λ is used to control a granularity of the inferred trends.
 17. The system of claim 16, wherein the first term is a residual term and the second term is a smoothness term.
 18. The system of claim 17, wherein if λ is above a predetermined threshold, a resulting trend is coarse grained.
 19. The system of claim 15, wherein, when the CUSUM is larger than a predetermined threshold, a group of the multi-variate time series data has an upward trend.
 20. The system of claim 15, wherein when the CUSUM is less than a predetermined threshold, a group of the multi-variate time series data has a downward trend. 